//deque 数据删除
#include <iostream>
#include <deque>
using namespace std;

void printDeque(deque<int> d)
{
    for(int i=0;i<d.size();i++)
    {
        cout<<d.at(i)<<" ";
    }
    cout<<endl;
}

int main()
{
    deque<int> d={-1,9,8,5,2,1,1,-1};
    printDeque(d);

    d.pop_back();//移除最后一个元素
    printDeque(d);

    //删除指定位置的元素
    deque<int>::iterator it=d.erase(d.begin()+2);//删除索引2的元素
    printDeque(d);
    cout<<*it<<endl; //输出被删除的下一个元素

    //删除范围内的元素
    //[d.begin()+1,d.begin()+3)
    d.erase(d.begin()+1,d.begin()+3);
    printDeque(d);

    d.clear();//清空
    printDeque(d);

    //检查deque是否为空
    cout<<"d.empty():"<<d.empty()<<endl;
    cout<<"d.size():"<<d.size()<<endl;

    return 0;
}